package org.rcgwt.client.ui.grid.model;

/**
 * 
 * @author Olivier Oeuillot (latest modification by $Author: $)
 */
public interface IColumn {

    String getName();

    String getMainTitle();

    String getTitle(int titleRowIndex);

    int getTitleColSpan(int titleRowIndex);

    boolean isSortable();

    boolean isVisible();

    boolean isResizable();

    int getPercentWidth();

    void setPercentWidth(int width);

    /**
     * Real width
     */
    int getWidth();

    void setWidth(int width);

    /**
     * Min prefered
     */
    int getMinWidth();

    void setMinWidth(int width);

    int getMaxWidth();

    void setMaxWidth(int width);

    boolean isValidWidth(int width);
}
